package co.edu.udistrital.audiomixer.bean.vo;

import java.io.Serializable;

import co.edu.udistrital.audiomixer.entidad.Proyecto;

public class ArchivoVO implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String pista;
	private Proyecto proyecto;
	private String fuente;
	private byte[] file;
	
	public ArchivoVO(String pista){
		this.pista = pista;
	}
	
	public ArchivoVO(String pista, byte[] file, Proyecto proyecto) {
		this.pista = pista;
		this.file = file;
		this.proyecto = proyecto;
	}
	public String getPista() {
		return pista;
	}
	public void setPista(String pista) {
		this.pista = pista;
	}
	public String getFuente() {
		if(proyecto!=null){
			fuente = "/"+proyecto.getId()+"/"+pista+".mp3";
		}
		return fuente;
	}
	public void setFuente(String fuente) {
		this.fuente = fuente;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((pista == null) ? 0 : pista.hashCode());
		return result;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		ArchivoVO other = (ArchivoVO) obj;
		if (pista == null) {
			if (other.pista != null) {
				return false;
			}
		} else if (!pista.equals(other.pista)) {
			return false;
		}
		return true;
	}
	/**
	 * @return the file
	 */
	public byte[] getFile() {
		return file;
	}
	/**
	 * @param file the file to set
	 */
	public void setFile(byte[] file) {
		this.file = file;
	}
	/**
	 * @return the proyecto
	 */
	public Proyecto getProyecto() {
		return proyecto;
	}
	/**
	 * @param proyecto the proyecto to set
	 */
	public void setProyecto(Proyecto proyecto) {
		this.proyecto = proyecto;
	}
	

}
